﻿using System;

namespace DataStore.Domain
{
    /// <summary>
    /// Type of the document
    /// </summary>
    [Serializable]
    public enum DocumentType
    {
        /// <summary>
        /// An article from a journal or magazine.
        /// </summary>
        Article,
        /// <summary>
        /// A book with an explicit publisher.
        /// </summary>
        Book,
        /// <summary>
        /// A work that is printed and bound, but without a named publisher or sponsoring institution.
        /// </summary>
        Booklet,
        /// <summary>
        /// An article in a conference proceedings.
        /// </summary>
        Conference,
        /// <summary>
        /// A part of a book, which may be a chapter (or section or whatever) and/or a range of pages.
        /// </summary>
        InBook,
        /// <summary>
        /// A part of a book having its own title.
        /// </summary>
        InCollection,
        /// <summary>
        /// An article in a conference proceedings.
        /// </summary>
        InProceedings,
        /// <summary>
        /// Technical documentation
        /// </summary>
        Manual,
        /// <summary>
        /// A Master's thesis.
        /// </summary>
        MastersThesis,
        /// <summary>
        /// Use this type when nothing else fits.
        /// </summary>
        Misc,
        /// <summary>
        /// A PhD thesis.
        /// </summary>
        PhDThesis,
        /// <summary>
        /// The proceedings of a conference
        /// </summary>
        Proceedings,
        /// <summary>
        /// A report published by a school or other institution, usually numbered within a series.
        /// </summary>
        TechReport,
        /// <summary>
        /// A document having an author and title, but not formally published.
        /// </summary>
        Unpublished
    }
}
